package cn.ynrcb.personnelfile.sysadmin.entity;

import cn.ynrcb.personnelfile.common.validator.group.AddGroup;
import cn.ynrcb.personnelfile.common.validator.group.UpdateGroup;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.util.Date;
import java.util.List;

@Data
@TableName("sys_org")
public class SysOrgEntity implements Serializable {
	private static final long serialVersionUID = 1L;

	/**
	 * 组织机构表主键ID
	 */
	@TableId
	private Long id;
	/**
	 *
	 */
	@NotBlank(message="机构名不能为空", groups = {AddGroup.class, UpdateGroup.class})
	private String orgName;
	/**
	 * 组织类型 1：办事处  2：农商行 3：部门
	 */
	private Integer orgType;
	/**
	 * 上级组织ID
	 */
	private Long pId;
	/**
	 * 内部代码
	 */
	private String innerCode;
	/**
	 * 等级
	 */
	private Integer level;
	/**
	 * 机构所在地区
	 */
	private String region;
	/**
	 * 统一社会信用代码
	 */
	private String creditCode;
	/**
	 * 状态：1.启用  0.停用
	 */
	private Integer status;
	/**
	 * 组织备注
	 */
	private String remark;
	/**
	 * 创建人ID
	 */
	private long createUserId;
	/**
	 * 创建时间
	 */
	private Date createTime;
	/**
	 * 修改人ID
	 */
	private long updateUserId;
	/**
	 * 修改时间
	 */
	private Date updateTime;


	@TableField(exist=false)
	private String createUser;
	@TableField(exist=false)
	private String parentName;
	@TableField(exist=false)
	private Long parentId;
	@TableField(exist=false)
	private List<SysOrgEntity> children;

	@TableField(exist=false)
	private String uid;

	private String coding;
}
